const { ipcMain, dialog } = require('electron');

//异步选择文件夹
export const openSelectDirectoryDialogSync = () => {
  const result = dialog.showOpenDialogSync({
    title: '请选择项目文件夹',
    properties: [
      'openDirectory',
      'createDirectory', // 允许创建新文件夹
      'promptToCreate' // 如果路径不存在，提示创建
    ],
    message: '请选择文件夹',
    buttonLabel: '选择'
  });

  if (result && result.length > 0) {
    return result[0];
  }
  return null;
};

//同步选择文件夹
export const openSelectDirectoryDialog = async () => {
  const result = await dialog.showOpenDialog({
    title: '请选择项目文件夹',
    properties: [
      'openDirectory',
      'createDirectory', // 允许创建新文件夹
      'promptToCreate' // 如果路径不存在，提示创建
    ],
    message: '请选择文件夹',
    buttonLabel: '选择'
  });

  if (!result.canceled && result.filePaths.length > 0) {
    return result.filePaths[0]; // 返回第一个选择的文件夹路径
  }
  return null; // 用户取消了选择
};

//同步选择视频
export const openSelectVideosDialog = async () => {
  const result = await dialog.showOpenDialog({
    //title: '请选择视频文件',
    properties: ['openFile', 'multiSelections'],
    filters: [{ name: 'Videos', extensions: ['mp4', 'avi', 'mov', 'mkv'] }]
    //message: '请选择视频',
    //buttonLabel: '选择'
  });

  if (!result.canceled && result.filePaths.length > 0) {
    return result.filePaths; // 返回第一个选择的文件夹路径
  }
  return null; // 用户取消了选择
};
